<?php
require_once '..' . DS . '/DAO/Conexao.php';
require_once 'BeanTipoEntrada.php';
require_once 'BeanVinculo.php';
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of ModelTipoEntrada
 *
 * @author David
 */
class ModelTipoEntrada {

    public $p = null;

    public function ModelTipoEntrada() {
        $this->p = Conexao::Intancia()->Db();
    }

    //GETS
    public function getTipoEntrada($vinculo) {        
        $sql = "SELECT *FROM tipo_entrada a 
                INNER JOIN vinculo b ON a.fk_vin_id = b.vin_id";
        
        if(!empty($vinculo)){
            $sql .= " WHERE a.fk_vin_id IN(3, ?)";
        }
        
        $sql .= " ORDER BY tent_descricao; ";
        
        $stmt = $this->p->prepare($sql);
        
        if(!empty($vinculo)){
            $stmt->bindValue(1, $vinculo);
        }
        
        $res = $stmt->execute();

        $resultado = array();
        if ($res != 1) {
            $resultado = "erro";
        } else {
            while ($linha = $stmt->fetch()) {
                $beanTipoSaida = new BeanTipoEntrada();
                $beanTipoSaida->codigo = $linha["tent_id"];
                $beanTipoSaida->descricao = $linha["tent_descricao"];
                
                $beanVinculo = new BeanVinculo();
                $beanVinculo->codigo = $linha["vin_id"];
                $beanVinculo->vinculo = $linha["vin_descricao"];
                
                $beanTipoSaida->beanVinculo = $beanVinculo;
                
                $resultado[] = $beanTipoSaida;
            }
        }
        return $resultado;
    }

    // SETS
    public function setTipoEntrada($descricao, $imagem, $vinculo) {
        $sql = "INSERT INTO tipo_entrada(tent_descricao, tent_imagem, fk_vin_id) VALUES(?, ?, ?);";
        $stmt = $this->p->prepare($sql);
        $stmt->bindValue(1, $descricao, PDO::PARAM_STR);
        $stmt->bindValue(2, $imagem, PDO::PARAM_STR);
        $stmt->bindValue(3, $vinculo, PDO::PARAM_STR);
        $res = $stmt->execute();

        $resultado = array();
        if ($res != 1) {
            $resultado = "erro";
        }
        return $resultado;
    }

    public function setUpdateTipoEntrada($codigo, $descricao, $imagem, $vinculo) {
        $sql = "UPDATE tipo_entrada 
                    set tent_descricao = ?,
                        tent_imagem = ?,
                        fk_vin_id = ?
                WHERE tent_id = ?;";
        
        $stmt = $this->p->prepare($sql);
        $stmt->bindValue(1, $descricao, PDO::PARAM_STR);
        $stmt->bindValue(2, $imagem, PDO::PARAM_STR);
        $stmt->bindValue(3, $vinculo);
        $stmt->bindValue(4, $codigo);
        $res = $stmt->execute();

        $resultado = array();
        if ($res != 1) {
            $resultado = "erro";
        }
        return $resultado;
    }

    public function setDeleteTipoEntrada($codigo) {
        $sql = "DELETE FROM tipo_entrada WHERE tent_id = ?;";
        
        $stmt = $this->p->prepare($sql);
        $stmt->bindValue(1, $codigo);
        $res = $stmt->execute();

        $resultado = array();
        if ($res != 1) {
            $resultado = "erro";
        }
        return $resultado;
    }

}